<?php

class Statements {
    
    public static function getUsuarios($usuarioCondicao, $usuario, $nomeCondicao, $nome) {
        
        //FILTROS USUARIO
        if($usuarioCondicao == 'contendo') {

            $usuarioCondicao = "LIKE '%{$usuario}%'";

        } else if($usuarioCondicao == 'igual') {

            $usuarioCondicao = "= '{$usuario}'";

        }
        
        if($usuario != '') {
            $usuario = "AND Usuario {$usuarioCondicao}";
        }
        
        //FILTROS NOME
        if($nomeCondicao == 'contendo') {

            $nomeCondicao = "LIKE '%{$nome}%'";

        } else if($nomeCondicao == 'igual') {

            $nomeCondicao = "= '{$nome}'";

        }
        
        if($nome != '') {
            $nome = "AND Nome {$nomeCondicao}";
        }
        
        $sql = "SELECT 
            
                U.id,
                U.usuario,
                U.nome,
                U.data_inclusao,
                U.data_alteracao,
                U.situacao,
                UND.descricao
                
                FROM usuario U
            
                JOIN usuario_nivel UN ON 1 = 1
                AND UN.usuario = U.id 

                JOIN usuario_nivel_descricao UND ON 1 = 1
                AND UND.nivel = UN.nivel

                WHERE 1 = 1
                {$usuario}
                {$nome}
                ORDER BY Data_Inclusao DESC";
        
        //echo $sql;
                
        return Connection::getResult($sql);
        
    }
    
    public static function getUsuario($id) {
        
        $sql = "SELECT 
                
                U.id,
                U.usuario,
                U.nome,
                U.sexo,
                U.situacao,
                UN.nivel

                FROM usuario U
                
                JOIN usuario_nivel UN ON 1 = 1
                AND UN.usuario = U.id 
                
                WHERE 1 = 1
                AND U.id = {$id}";
                
        return Connection::getResult($sql);
        
    }
    
    public static function getNiveis() {
        
        $sql = "SELECT
                *
                FROM usuario_nivel_descricao";
        
        return Connection::getResult($sql);
        
    }
    
    public static function setUsuario($usuario,$senha,$nome,$sexo, $nivel, $situacao) {
        
        $sql = "INSERT INTO usuario VALUES(DEFAULT,'{$usuario}',MD5('{$senha}'),'{$nome}','{$sexo}',NOW(),DEFAULT,'{$situacao}')";
        Connection::setValue($sql);
        
        $sql2 = "INSERT INTO usuario_nivel VALUES((SELECT MAX(id) FROM usuario), '{$nivel}')";
        Connection::setValue($sql2);
        
        $sql3 = "INSERT INTO usuario_preferencias VALUES((SELECT MAX(id) FROM usuario), 'default')";
        Connection::setValue($sql3);
        
    }
    
    public static function updateUsuario($id, $usuario, $senha, $nome, $sexo, $nivel, $situacao) {
        
        $sql = "UPDATE usuario SET 
                usuario = '{$usuario}', 
                senha = MD5('{$senha}'), 
                nome = '{$nome}', 
                sexo = '{$sexo}', 
                situacao = '{$situacao}',
                data_alteracao = NOW()
                WHERE 1 = 1
                AND id = '{$id}'";
                        
        Connection::setValue($sql);
        
        $sql2 = "UPDATE usuario_nivel SET nivel = '{$nivel}' 
                WHERE 1 = 1
                AND usuario = '{$id}'
                ";
                
        Connection::setValue($sql2);
        
    }
}

?>
